# Retrieve configurable options for a specific produ

Retrieve configurable options for a specific product.

Endpoint: GET /store/products/{product_id}/configoptions
Version: 2.0.0

## Path parameters:

  - `product_id` (integer, required)
    Product ID

## Query parameters:

  - `page` (integer)
    Page number
    Example: 1

  - `page_size` (integer)
    Number of items per page. The maximum allowed value is 500. The default value is 50.
    Example: 10

## Response 200 fields (application/json):

  - `data` (array, required)

  - `data.id` (integer, required)
    Example: 123

  - `data.name` (string,null)
    Example: "Shared web hosting"

  - `data.description` (string,null)

  - `data.type` (string, required)
    Config option type
    Enum: "dropdown", "radio", "yesno", "quantity"

  - `data.quantity_minimum` (integer,null)
    Example: 1

  - `data.quantity_maximum` (integer,null)
    Example: 99

  - `data.sort_order` (integer)
    Example: 1

  - `data.group` (object,null)

  - `data.group.id` (integer, required)
    Example: 123

  - `data.group.name` (string,null)
    Example: "Shared web hosting"

  - `data.group.description` (string,null)

  - `data.group.icon` (string,null)
    Example: "fa-solid"

  - `data.group.headline` (string,null)
    Example: "Headline"

  - `data.group.tagline` (string,null)
    Example: "Tagline"

  - `data.group.order` (integer)
    The display order of the group as configured in the application.
    Example: 123

  - `data.group.features` (array)

  - `data.group.features.id` (integer, required)
    Example: 123

  - `data.group.features.name` (string,null, required)
    Example: "Shared web hosting"

  - `data.group.features.description` (string,null)

  - `data.group.features.order` (integer, required)
    Example: 123

  - `data.options` (array,null)

  - `data.options.name` (string, required)
    Example: "Daily Virus Scanning"

  - `data.options.value` (any,null, required)
    Configuration Option Value

  - `data.options.sort_order` (integer)
    Example: 2

  - `data.options.pricing` (object, required)

  - `data.options.pricing.is_free` (boolean, required)

  - `data.options.pricing.onetime` (object)

  - `data.options.pricing.onetime.setup` (object, required)

  - `data.options.pricing.onetime.setup.value` (string, required)
    Example: "19.99"

  - `data.options.pricing.onetime.setup.code` (string, required)
    Example: "USD"

  - `data.options.pricing.onetime.setup.display_value` (string, required)
    Example: "$19.99 USD"

  - `data.options.pricing.onetime.setup.prefix` (string, required)
    Optional currency prefix
    Example: "$"

  - `data.options.pricing.onetime.setup.suffix` (string, required)
    Optional currency prefix
    Example: " USD"

  - `data.options.pricing.onetime.amount` (object, required)

  - `data.options.pricing.recurring` (array)

  - `data.options.pricing.recurring.cycle` (string,null, required)
    Billing cycle's frequency.
    Enum: "free", "onetime", "monthly", "quarterly", "semiannually", "annually", "biennially", "triennially"

  - `data.options.pricing.recurring.setup` (object, required)

  - `data.options.pricing.recurring.amount` (object, required)

## Response 404 fields (application/json):

  - `message` (string)


